home *** CD-ROM | disk | FTP | other *** search
- unit Kpdemo;
-
- interface
-
- uses
- {Custom added uses clause}
- KpSGCnst, SysUtils, Dialogs, KpForm2,
- {Auto added uses clause}
- WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Buttons,
- StdCtrls, KpSecure, ExtCtrls, DB, DBTables, Tabs, Spin, Kpgrdlst;
-
- const
- ksLogIn = '%s currently logged into system';
- ksFailedLogIn = 'User failed login - Nobody logged in';
- ksSL = 'Security level is: %d';
-
- type
- TForm1DLG1 = class(TForm)
- KpSecurityGuard1: TKpSecurityGuard;
- Panel1: TPanel;
- Image1: TImage;
- Table1: TTable;
- Notebook1: TNotebook;
- TabSet1: TTabSet;
- Panel2: TPanel;
- Memo1: TMemo;
- GroupBox1: TGroupBox;
- BitBtn2: TBitBtn;
- BitBtn1: TBitBtn;
- Memo2: TMemo;
- GroupBox3: TGroupBox;
- CheckBox1: TCheckBox;
- CheckBox2: TCheckBox;
- BitBtn5: TBitBtn;
- BitBtn6: TBitBtn;
- KpGuardList1: TKpGuardList;
- BitBtn3: TBitBtn;
- BitBtn4: TBitBtn;
- GroupBox2: TGroupBox;
- BitBtn7: TBitBtn;
- CheckBox3: TCheckBox;
- RadioGroup1: TRadioGroup;
- ListBox1: TListBox;
- Edit1: TEdit;
- Edit2: TEdit;
- Edit3: TEdit;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- GroupBox4: TGroupBox;
- Label7: TLabel;
- Label8: TLabel;
- Label9: TLabel;
- Label10: TLabel;
- Label11: TLabel;
- Label12: TLabel;
- Label13: TLabel;
- Label14: TLabel;
- Label15: TLabel;
- Label16: TLabel;
- Panel3: TPanel;
- BitBtn8: TBitBtn;
- Memo3: TMemo;
- Label2: TLabel;
- Label1: TLabel;
- BitBtn9: TBitBtn;
- Timer1: TTimer;
- procedure FormCreate(Sender: TObject);
- procedure TabSet1Change(Sender: TObject; NewTab: Integer;
- var AllowChange: Boolean);
- procedure BitBtn1Click(Sender: TObject);
- procedure BitBtn2Click(Sender: TObject);
- procedure CheckBox1Click(Sender: TObject);
- procedure CheckBox2Click(Sender: TObject);
- procedure KpSecurityGuard1AllowDelete(Sender: TObject;
- var AllowEvent: Boolean; sIdent: String);
- procedure KpSecurityGuard1SecurityAction(Sender: TObject;
- const SecurityEvent: TSecurityEvent; EventInfo: TEventInfo);
- procedure BitBtn5Click(Sender: TObject);
- procedure BitBtn6Click(Sender: TObject);
- procedure BitBtn3Click(Sender: TObject);
- procedure BitBtn4Click(Sender: TObject);
- procedure Edit1Change(Sender: TObject);
- procedure Edit2Change(Sender: TObject);
- procedure Edit3Change(Sender: TObject);
- procedure KpSecurityGuard1FailedVerify(Sender: TObject);
- procedure KpSecurityGuard1FailedLogIn(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure BitBtn8Click(Sender: TObject);
- procedure FormActivate(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1DLG1: TForm1DLG1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1DLG1.FormCreate(Sender: TObject);
- begin
- {Caption}
- Caption := Format( Caption, [ LoadStr( SKpVersion ) ] );
- {Tabs}
- TabSet1.Tabs := NoteBook1.Pages;
- {Log}
- KpSecurityGuard1.StandardLogFile := ChangeFileExt( Application.EXEName, '.LOG' );
- {TTable}
- Table1.TableName := ExtractFilePath( Application.EXEName ) + 'USERID.DB';
- Table1.Active := TRUE;
- {Labels}
- Edit1.Text := KpSecurityGuard1.UserLabel;
- Edit2.Text := KpSecurityGuard1.PasswordLabel;
- Edit3.Text := KpSecurityGuard1.SecurityLevelLabel;
- Memo3.Lines.LoadFromFile( 'README.TXT' );
- end;
-
- procedure TForm1DLG1.TabSet1Change(Sender: TObject; NewTab: Integer;
- var AllowChange: Boolean);
- begin
- NoteBook1.PageIndex := NewTab;
- if NewTab = 2 then Memo1.Lines.LoadFromFile( KpSecurityGuard1.StandardLogFile );
- if Form1 <> nil then Form1.Visible := NewTab = 1;
- end;
-
- procedure TForm1DLG1.BitBtn1Click(Sender: TObject);
- begin
- KpSecurityGuard1.LogIn;
- end;
-
- procedure TForm1DLG1.BitBtn2Click(Sender: TObject);
- begin
- KpSecurityGuard1.LogOut;
- end;
-
- procedure TForm1DLG1.CheckBox1Click(Sender: TObject);
- begin
- KpSecurityGuard1.ShowPassword := TCheckBox( Sender ).Checked;
- end;
-
- procedure TForm1DLG1.CheckBox2Click(Sender: TObject);
- begin
- if TCheckBox( Sender ).Checked then
- KpSecurityGuard1.SecurityLevelField := 'SecLev'
- else
- KpSecurityGuard1.SecurityLevelField := '';
- end;
-
- procedure TForm1DLG1.KpSecurityGuard1AllowDelete(Sender: TObject;
- var AllowEvent: Boolean; sIdent: String);
- begin
- if ( sIdent = '4572' ) OR ( sIdent = 'JAMES' ) OR ( sIdent = 'MANAGER' ) then
- begin
- ShowMessage( 'This DEMO is setup so that User ID''s:'#10#13 +
- #09'4572, JAMES and MANAGER'#10#13'can''t be added, edited or deleted!' );
- AllowEvent := FALSE;
- end;
- end;
-
- procedure TForm1DLG1.KpSecurityGuard1SecurityAction(Sender: TObject;
- const SecurityEvent: TSecurityEvent; EventInfo: TEventInfo);
- begin
- if SecurityEvent = seFailedLogIn then Label1.Caption := ksFailedLogIn;
- Label2.Caption := Format( ksSL, [ KpSecurityGuard1.SecurityLevel ] )
- end;
-
- procedure TForm1DLG1.BitBtn5Click(Sender: TObject);
- begin
- KpSecurityGuard1.VerifyPassword;
- end;
-
- procedure TForm1DLG1.BitBtn6Click(Sender: TObject);
- begin
- KpSecurityGuard1.ChangePassword;
- end;
-
- procedure TForm1DLG1.BitBtn3Click(Sender: TObject);
- begin
- KpSecurityGuard1.EditUser;
- end;
-
- procedure TForm1DLG1.BitBtn4Click(Sender: TObject);
- begin
- KpSecurityGuard1.EditUserList;
- end;
-
- procedure TForm1DLG1.Edit1Change(Sender: TObject);
- begin
- KpSecurityGuard1.UserLabel := TEdit( Sender ).Text;
- end;
-
- procedure TForm1DLG1.Edit2Change(Sender: TObject);
- begin
- KpSecurityGuard1.PasswordLabel := TEdit( Sender ).Text;
- end;
-
- procedure TForm1DLG1.Edit3Change(Sender: TObject);
- begin
- KpSecurityGuard1.SecurityLevelLabel := TEdit( Sender ).Text;
- end;
-
- procedure TForm1DLG1.KpSecurityGuard1FailedVerify(Sender: TObject);
- begin
- ShowMessage( 'User just failed verify' );
- end;
-
- procedure TForm1DLG1.KpSecurityGuard1FailedLogIn(Sender: TObject);
- begin
- ShowMessage( 'User just failed Login' );
- end;
-
- procedure TForm1DLG1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- KpSecurityGuard1.LogOut;
- Memo3.Lines.SaveToFile( 'README.TXT' );
- end;
-
- procedure TForm1DLG1.BitBtn8Click(Sender: TObject);
- var f : TextFile;
- begin
- AssignFile( f, KpSecurityGuard1.StandardLogFile );
- Rewrite( f );
- Memo1.Lines.LoadFromFile( KpSecurityGuard1.StandardLogFile );
- end;
-
- procedure TForm1DLG1.FormActivate(Sender: TObject);
- begin
- {Form1}
- Form1.KpGuardList1.SecurityGuard := KpSecurityGuard1;
- end;
-
- procedure TForm1DLG1.Timer1Timer(Sender: TObject);
- begin
- with KpSecurityGuard1 do
- begin
- if Logged then Label1.Caption := Format( ksLogIn, [ User ] )
- else Label1.Caption := Format( ksLogIn, [ 'No one' ] );
- Label2.Caption := Format( ksSL, [ SecurityLevel ] );
- end;
- end;
-
- end.
-